{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import os"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.rcParams.update(\n",
    "    {\n",
    "        \"text.usetex\": True,\n",
    "        \"font.family\": \"serif\",\n",
    "        \"font.sans-serif\": \"Times\",\n",
    "        \"font.size\": 10,\n",
    "    }\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [],
   "source": [
    "dir_data = \"data\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [],
   "source": [
    "# only use 4 plots -> leave out cpu-t0-a0\n",
    "N_arr = [int(i) for i in np.ceil(np.logspace(0, 3, 10))]\n",
    "batch_dim = 1\n",
    "hidden_layers_arr = [1, 10, 20]\n",
    "solve_steps = 1000\n",
    "device_arr = [\"cpu\", \"cpu\", \"cuda\", \"cuda\"]\n",
    "num_threads_arr = [1, 10, 1, 1]\n",
    "num_threads_acados_openmp_arr = [0, 0, 0, 10]\n",
    "warmup_iter = 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [],
   "source": [
    "assert len(num_threads_arr) == len(device_arr) == len(num_threads_acados_openmp_arr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('cpu', 1, 0), ('cpu', 10, 0), ('cuda', 1, 0), ('cuda', 1, 10)]"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "device_threads_arr = list(\n",
    "    zip(device_arr, num_threads_arr, num_threads_acados_openmp_arr)\n",
    ")\n",
    "device_threads_arr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [],
   "source": [
    "N_grid, hidden_layers_grid = np.meshgrid(N_arr, hidden_layers_arr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [],
   "source": [
    "N_grid_flat = N_grid.flatten()\n",
    "hidden_layers_flat = hidden_layers_grid.flatten()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "120"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "N_experiments = len(N_arr) * len(hidden_layers_arr) * len(device_threads_arr)\n",
    "N_experiments"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [],
   "source": [
    "avg_times = {\n",
    "    \"l4casadi\": np.zeros((len(hidden_layers_arr), len(N_arr), len(device_threads_arr))),\n",
    "    \"l4acados\": np.zeros((len(hidden_layers_arr), len(N_arr), len(device_threads_arr))),\n",
    "}\n",
    "\n",
    "for i, hidden_layers in enumerate(hidden_layers_arr):\n",
    "    for j, N in enumerate(N_arr):\n",
    "        for k, device_threads in enumerate(device_threads_arr):\n",
    "            npzfile = np.load(\n",
    "                os.path.join(\n",
    "                    dir_data,\n",
    "                    f\"l4casadi_vs_l4acados_N{N}_layers{hidden_layers}_steps{solve_steps}_{device_threads[0]}_threads{device_threads[1]}_acados_{device_threads[2]}.npz\",\n",
    "                    # f\"l4casadi_vs_l4acados_N{N}_layers{hidden_layers}_steps{solve_steps}_{device_threads[0]}_threads{device_threads[1]}.npz\",\n",
    "                )\n",
    "            )\n",
    "            x_l4casadi = npzfile[\"x_l4casadi\"]\n",
    "            opt_times_l4casadi = npzfile[\"opt_times_l4casadi\"]\n",
    "            x_l4acados = npzfile[\"x_l4acados\"]\n",
    "            opt_times_l4acados = npzfile[\"opt_times_l4acados\"]\n",
    "\n",
    "            avg_times[\"l4casadi\"][i, j, k] = np.mean(opt_times_l4casadi[warmup_iter:])\n",
    "            avg_times[\"l4acados\"][i, j, k] = np.mean(opt_times_l4acados[warmup_iter:])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [],
   "source": [
    "from matplotlib import colormaps\n",
    "\n",
    "cmap_blue = colormaps[\"Blues\"]\n",
    "cmap_orange = colormaps[\"Oranges\"]\n",
    "\n",
    "cmap_l4casadi = colormaps[\"winter\"]\n",
    "# cmap_l4acados = colormaps[\"summer\"]\n",
    "cmap_l4acados = colormaps[\"winter\"]\n",
    "\n",
    "\n",
    "# cmap_l4acados = colormaps[\"YlOrBr\"]\n",
    "# cmap_l4casadi = colormaps[\"YlOrBr\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.lines as mlines"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_578729/284256867.py:33: UserWarning: Attempt to set non-positive ylim on a log-scaled axis will be ignored.\n",
      "  ax[l].set_ylim((ax_ylim_min, ax_ylim_max))\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1050x375 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "colormap_exp = 1.0\n",
    "fig, ax = plt.subplots(\n",
    "    1, len(device_threads_arr), figsize=(1.5 * 7, 1.5 * 2.5), sharey=True\n",
    ")\n",
    "ax_ylim_arr = np.zeros((2, len(device_threads_arr)))\n",
    "\n",
    "for l, device_threads in enumerate(device_threads_arr):\n",
    "    for i, hidden_layers in enumerate(hidden_layers_arr):\n",
    "        h_l4casadi = ax[l].plot(\n",
    "            N_arr,\n",
    "            avg_times[\"l4casadi\"][i, :, l],\n",
    "            color=cmap_l4casadi(((i + 1) / len(hidden_layers_arr)) ** colormap_exp),\n",
    "            linestyle=\"--\",\n",
    "        )\n",
    "        h_l4acados = ax[l].plot(\n",
    "            N_arr,\n",
    "            avg_times[\"l4acados\"][i, :, l],\n",
    "            color=cmap_l4acados(((i + 1) / len(hidden_layers_arr)) ** colormap_exp),\n",
    "        )\n",
    "\n",
    "    ax_ylim_arr[:, l] += np.array(ax[l].get_ylim())\n",
    "    ax[l].set_xscale(\"log\")\n",
    "    ax[l].set_yscale(\"log\")\n",
    "    ax[l].set_xlabel(\"N\")\n",
    "    ax[l].set_title(\n",
    "        f\"{device_threads[0]}-torch{device_threads[1]}-acados{device_threads[2]}\"\n",
    "    )\n",
    "    ax[l].grid()\n",
    "\n",
    "ax_ylim_min = min(ax_ylim_arr[0, :])\n",
    "ax_ylim_max = max(ax_ylim_arr[1, :])\n",
    "for l in range(len(device_threads_arr)):\n",
    "    ax[l].set_ylim((ax_ylim_min, ax_ylim_max))\n",
    "    ax[l].set_xlim(\n",
    "        (\n",
    "            ax[l].get_xlim()[0],\n",
    "            10\n",
    "            ** (\n",
    "                np.log10(ax[l].get_xlim()[0])\n",
    "                + np.log10(ax[l].get_ylim()[1])\n",
    "                - np.log10(ax[l].get_ylim()[0])\n",
    "            ),\n",
    "        )\n",
    "    )\n",
    "    ax[l].set_box_aspect(1.0)\n",
    "\n",
    "legend_handles = [mlines.Line2D([], [], color=\"k\", linestyle=\"-\", label=\"l4acados\")]\n",
    "legend_handles += [mlines.Line2D([], [], color=\"k\", linestyle=\"--\", label=\"l4casadi\")]\n",
    "legend_handles += [\n",
    "    mlines.Line2D([], [], color=\"tab:gray\", linestyle=\"none\", label=\"\", marker=\"+\")\n",
    "]\n",
    "legend_handles += [\n",
    "    mlines.Line2D(\n",
    "        [],\n",
    "        [],\n",
    "        color=cmap_l4acados(((i + 1) / len(hidden_layers_arr)) ** colormap_exp),\n",
    "        marker=\"o\",\n",
    "        linestyle=\"none\",\n",
    "        label=f\"$\\#_{{\\\\mathrm{{layers}}}} = {hidden_layers_arr[i]:d}$\",\n",
    "    )\n",
    "    for i in range(len(hidden_layers_arr) - 1, -1, -1)\n",
    "]\n",
    "\n",
    "ax[0].set_ylabel(\"Time per SQP iteration [s]\")\n",
    "ax[-1].legend(loc=\"center left\", bbox_to_anchor=(1.05, 0.5), handles=legend_handles)\n",
    "plt.tight_layout()\n",
    "\n",
    "fig.savefig(\"l4casadi_vs_l4acados.pdf\", dpi=600)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'l4casadi': array([[[5.54971859e-04, 4.20842351e-04, 1.07845796e-03, 1.11378209e-03],\n",
       "         [1.52262205e-03, 1.08373221e-03, 2.59829739e-03, 7.11325722e-03],\n",
       "         [2.61983176e-03, 1.76844198e-03, 3.94600649e-03, 1.19870098e-02],\n",
       "         [4.55271138e-03, 3.32488674e-03, 7.56446962e-03, 2.51578850e-02],\n",
       "         [9.82627890e-03, 6.99432072e-03, 1.55605877e-02, 5.51179323e-02],\n",
       "         [2.11750100e-02, 1.43535678e-02, 3.17932612e-02, 1.17198749e-01],\n",
       "         [4.31718174e-02, 3.06842062e-02, 6.92135026e-02, 2.37032613e-01],\n",
       "         [9.59185412e-02, 6.67521410e-02, 1.46184324e-01, 4.85643698e-01],\n",
       "         [2.11210375e-01, 1.51483672e-01, 3.24349252e-01, 1.04479793e+00],\n",
       "         [5.20461099e-01, 3.96244873e-01, 7.62192942e-01, 2.36686003e+00]],\n",
       " \n",
       "        [[3.12737628e-03, 1.73831780e-03, 2.63501529e-03, 2.72553043e-03],\n",
       "         [9.06567574e-03, 4.66562377e-03, 5.93401471e-03, 1.85671057e-02],\n",
       "         [1.52797706e-02, 7.80557509e-03, 9.44690582e-03, 3.20263552e-02],\n",
       "         [2.95510972e-02, 1.48638730e-02, 1.88171870e-02, 6.67142637e-02],\n",
       "         [6.58880675e-02, 3.14985678e-02, 4.03331079e-02, 1.42859523e-01],\n",
       "         [1.42990576e-01, 6.58947545e-02, 8.59388125e-02, 2.87364049e-01],\n",
       "         [2.95123129e-01, 1.36861527e-01, 1.83734096e-01, 5.48091321e-01],\n",
       "         [6.48914919e-01, 3.04741911e-01, 3.94351734e-01, 1.03916437e+00],\n",
       "         [1.38088698e+00, 6.78336710e-01, 8.54530195e-01, 2.02629339e+00],\n",
       "         [3.11265488e+00, 1.51844501e+00, 1.92710587e+00, 4.44707170e+00]],\n",
       " \n",
       "        [[7.04313881e-03, 3.41997308e-03, 3.99905187e-03, 4.24806270e-03],\n",
       "         [2.12645044e-02, 1.00208127e-02, 9.62506300e-03, 2.99284875e-02],\n",
       "         [3.67569343e-02, 1.64739655e-02, 1.57712323e-02, 5.31227584e-02],\n",
       "         [7.17405485e-02, 3.19940969e-02, 3.13128176e-02, 1.10051370e-01],\n",
       "         [1.52538016e-01, 7.06025518e-02, 6.87611016e-02, 2.25165232e-01],\n",
       "         [3.33971170e-01, 1.52021956e-01, 1.46740453e-01, 4.35273767e-01],\n",
       "         [6.76619352e-01, 3.29847213e-01, 3.05837813e-01, 7.91275719e-01],\n",
       "         [1.54390109e+00, 7.25045071e-01, 6.80762572e-01, 1.43434215e+00],\n",
       "         [3.26744840e+00, 1.47221327e+00, 1.45637042e+00, 2.80527287e+00],\n",
       "         [7.05417747e+00, 3.33210160e+00, 3.15613117e+00, 5.92166339e+00]]]),\n",
       " 'l4acados': array([[[0.00067699, 0.00061402, 0.00292826, 0.00238162],\n",
       "         [0.00082208, 0.00082367, 0.00335644, 0.00280241],\n",
       "         [0.00098404, 0.00096416, 0.00370049, 0.00306328],\n",
       "         [0.00128737, 0.00123005, 0.00446326, 0.00398253],\n",
       "         [0.00227361, 0.00191812, 0.006271  , 0.00511557],\n",
       "         [0.0031888 , 0.00325168, 0.00689637, 0.00603993],\n",
       "         [0.00584404, 0.00587395, 0.00689722, 0.00763762],\n",
       "         [0.01288987, 0.01353983, 0.01267301, 0.01763448],\n",
       "         [0.03449869, 0.03460761, 0.03476326, 0.04325957],\n",
       "         [0.14534762, 0.14676224, 0.14125771, 0.13784946]],\n",
       " \n",
       "        [[0.00192688, 0.00133282, 0.00499018, 0.00440603],\n",
       "         [0.00215095, 0.00173936, 0.00538463, 0.00489004],\n",
       "         [0.0028485 , 0.0016448 , 0.00570977, 0.00519685],\n",
       "         [0.00393755, 0.00204315, 0.00643819, 0.00611193],\n",
       "         [0.0046378 , 0.0033625 , 0.00841172, 0.00768901],\n",
       "         [0.00759587, 0.00515094, 0.01192178, 0.01119594],\n",
       "         [0.01402197, 0.00842331, 0.01503202, 0.01467322],\n",
       "         [0.02675637, 0.02094238, 0.01622014, 0.02020178],\n",
       "         [0.0637149 , 0.04863609, 0.03349366, 0.04598256],\n",
       "         [0.20384569, 0.16055447, 0.14124276, 0.14074928]],\n",
       " \n",
       "        [[0.003896  , 0.00247761, 0.00706879, 0.00650704],\n",
       "         [0.00500763, 0.0030574 , 0.00755508, 0.00699961],\n",
       "         [0.00591719, 0.00268646, 0.00785352, 0.00725266],\n",
       "         [0.00795556, 0.00338983, 0.00851778, 0.00802022],\n",
       "         [0.00900319, 0.00514355, 0.01057248, 0.00993002],\n",
       "         [0.01286227, 0.00764254, 0.01417571, 0.01312298],\n",
       "         [0.02228695, 0.01163433, 0.02027137, 0.01948109],\n",
       "         [0.04354886, 0.02885416, 0.02434356, 0.0266974 ],\n",
       "         [0.0960237 , 0.06268349, 0.04672101, 0.04954871],\n",
       "         [0.26641481, 0.17818908, 0.14504936, 0.14332899]]])}"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "avg_times"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 700x250 with 5 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib.colors import LogNorm\n",
    "from matplotlib import colormaps\n",
    "\n",
    "# scale_exp = 1.5\n",
    "scale_max = 50\n",
    "scale_exp = np.log10(scale_max)\n",
    "width_ratios = np.ones(\n",
    "    (\n",
    "        len(\n",
    "            device_threads_arr,\n",
    "        )\n",
    "    )\n",
    ")\n",
    "# width_ratios[-1] = 1.25\n",
    "width_ratios_normalized = width_ratios / sum(width_ratios)\n",
    "fig, ax = plt.subplots(\n",
    "    1,\n",
    "    len(device_threads_arr),\n",
    "    figsize=(7, 2.5),\n",
    "    width_ratios=width_ratios_normalized,\n",
    "    sharey=True,\n",
    ")\n",
    "for l, device_threads in enumerate(device_threads_arr):\n",
    "    c = ax[l].pcolor(\n",
    "        N_grid,\n",
    "        hidden_layers_grid,\n",
    "        avg_times[\"l4casadi\"][:, :, l] / avg_times[\"l4acados\"][:, :, l],\n",
    "        shading=\"nearest\",\n",
    "        norm=LogNorm(vmin=10 ** (-scale_exp), vmax=10**scale_exp),\n",
    "        cmap=colormaps[\"BrBG\"],\n",
    "    )\n",
    "    ax[l].set_xlabel(\"N\")\n",
    "    ax[l].set_xticks(N_arr)\n",
    "    ax[l].set_yticks(hidden_layers_arr)\n",
    "    ax[l].set_xscale(\"log\")\n",
    "    ax[l].set_xscale(\"log\")\n",
    "    ax[l].set_xlim((min(N_arr), max(N_arr)))\n",
    "\n",
    "    ax[l].set_box_aspect(1.0)\n",
    "\n",
    "    ax[l].set_title(f\"{device_threads[0]}-{device_threads[1]}\")\n",
    "ax[0].set_ylabel(\"Hidden layers\")\n",
    "\n",
    "scale_exp_int_range_min = int(np.ceil(-scale_exp))\n",
    "scale_exp_int_range_max = int(np.floor(scale_exp))\n",
    "scale_exp_int_range = (\n",
    "    [-scale_exp]\n",
    "    + list(range(scale_exp_int_range_min, scale_exp_int_range_max + 1))\n",
    "    + [scale_exp]\n",
    ")\n",
    "cbar_yticks_list = (\n",
    "    [10 ** (-scale_exp)]\n",
    "    + [10**i for i in list(range(scale_exp_int_range_min, scale_exp_int_range_max + 1))]\n",
    "    + [10 ** (scale_exp)]\n",
    ")\n",
    "cbar_yticks_labels = [\n",
    "    f\"$\\\\frac{{1}}{{{10**abs(s):.0f}}}$\" if s < 0 else f\"${10**s:.0f}$\"\n",
    "    for s in scale_exp_int_range\n",
    "]\n",
    "\n",
    "fig.subplots_adjust(right=0.8)\n",
    "# cbar_ax = fig.add_axes([0.85, 0.15, 0.01, 0.7])\n",
    "# cbar = fig.colorbar(c, ticks=cbar_yticks_list, ax=cbar_ax)\n",
    "cbar = fig.colorbar(c, ticks=cbar_yticks_list, ax=ax.ravel().tolist())\n",
    "cbar.ax.set_yticklabels(cbar_yticks_labels)\n",
    "cbar.ax.set_title(\"speedup\")\n",
    "\n",
    "# plt.tight_layout()\n",
    "plt.savefig(\"l4casadi_vs_l4acados_speedup.pdf\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('cpu', 1, 0), ('cpu', 10, 0), ('cuda', 1, 0), ('cuda', 1, 10)]"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "device_threads_arr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 714.13x350 with 8 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(\n",
    "    2, len(device_threads_arr), figsize=(7.1413, 3.5), sharex=True, sharey=\"row\"\n",
    ")\n",
    "# fig, ax = plt.subplots(2, len(device_threads_arr), figsize=(3*7.1413,3*3.5), sharex=True, sharey=\"row\")\n",
    "\n",
    "# Timing plots\n",
    "\n",
    "colormap_exp = 1.0\n",
    "# fig, ax = plt.subplots(1, len(device_threads_arr), figsize=(1.5*7,1.5*2.5), sharey=True)\n",
    "ax_ylim_arr = np.zeros((2, len(device_threads_arr)))\n",
    "\n",
    "for l, device_threads in enumerate(device_threads_arr):\n",
    "    for i, hidden_layers in enumerate(hidden_layers_arr):\n",
    "        h_l4casadi = ax[0, l].plot(\n",
    "            N_arr,\n",
    "            avg_times[\"l4casadi\"][i, :, l],\n",
    "            color=cmap_l4casadi(((i + 1) / len(hidden_layers_arr)) ** colormap_exp),\n",
    "            linestyle=\"--\",\n",
    "        )\n",
    "        h_l4acados = ax[0, l].plot(\n",
    "            N_arr,\n",
    "            avg_times[\"l4acados\"][i, :, l],\n",
    "            color=cmap_l4acados(((i + 1) / len(hidden_layers_arr)) ** colormap_exp),\n",
    "        )\n",
    "\n",
    "    # ax[0,l].plot(N_arr, np.array(N_arr) * 5e-2, linestyle=\":\", color=\"gray\")\n",
    "\n",
    "    ax_ylim_arr[:, l] += np.array(ax[0, l].get_ylim())\n",
    "    ax[0, l].set_xscale(\"log\")\n",
    "    ax[0, l].set_yscale(\"log\")\n",
    "    # ax[0,l].set_xlabel(\"N\")\n",
    "    # ax[0,l].set_title(f\"{device_threads[0]}-torch{device_threads[1]}-acados{device_threads[2]}\")\n",
    "    ax[0, l].set_title(f\"{device_threads[0]}-t{device_threads[1]}-a{device_threads[2]}\")\n",
    "    ax[0, l].grid()\n",
    "\n",
    "ax_ylim_min = min(ax_ylim_arr[0, :])\n",
    "ax_ylim_max = max(ax_ylim_arr[1, :])\n",
    "for l in range(len(device_threads_arr)):\n",
    "    # ax[0,l].set_ylim((ax_ylim_min, ax_ylim_max))\n",
    "    # ax[0,l].set_xlim((ax[0,l].get_xlim()[0], 10**(np.log10(ax[0,l].get_xlim()[0]) + np.log10(ax[0,l].get_ylim()[1]) - np.log10(ax[0,l].get_ylim()[0]))))\n",
    "    ax[0, l].set_box_aspect(1.0)\n",
    "\n",
    "legend_handles = [mlines.Line2D([], [], color=\"k\", linestyle=\"-\", label=\"l4acados\")]\n",
    "legend_handles += [mlines.Line2D([], [], color=\"k\", linestyle=\"--\", label=\"l4casadi\")]\n",
    "legend_handles += [\n",
    "    mlines.Line2D([], [], color=\"tab:gray\", linestyle=\"none\", label=\"\", marker=\"+\")\n",
    "]\n",
    "legend_handles += [\n",
    "    mlines.Line2D(\n",
    "        [],\n",
    "        [],\n",
    "        color=cmap_l4acados(((i + 1) / len(hidden_layers_arr)) ** colormap_exp),\n",
    "        marker=\"o\",\n",
    "        linestyle=\"none\",\n",
    "        label=f\"$\\#_{{\\\\mathrm{{layers}}}} = {hidden_layers_arr[i]:d}$\",\n",
    "    )\n",
    "    for i in range(len(hidden_layers_arr) - 1, -1, -1)\n",
    "]\n",
    "\n",
    "ax[0, 0].set_ylabel(\"Time per SQP iteration [s]\")\n",
    "\n",
    "# Color plots\n",
    "\n",
    "# scale_exp = 1.5\n",
    "scale_max = 50\n",
    "scale_exp = np.log10(scale_max)\n",
    "# width_ratios = np.ones((len(device_threads_arr,)))\n",
    "# width_ratios[-1] = 1.25\n",
    "# width_ratios_normalized = width_ratios / sum(width_ratios)\n",
    "# fig, ax = plt.subplots(1, len(device_threads_arr), figsize=(7,2.5), width_ratios=width_ratios_normalized, sharey=True)\n",
    "for l, device_threads in enumerate(device_threads_arr):\n",
    "    c = ax[1, l].pcolor(\n",
    "        N_grid,\n",
    "        hidden_layers_grid,\n",
    "        avg_times[\"l4casadi\"][:, :, l] / avg_times[\"l4acados\"][:, :, l],\n",
    "        shading=\"nearest\",\n",
    "        norm=LogNorm(vmin=10 ** (-scale_exp), vmax=10**scale_exp),\n",
    "        cmap=colormaps[\"BrBG\"],\n",
    "    )\n",
    "    ax[1, l].set_xlabel(\"N\")\n",
    "    ax[1, l].set_xticks(N_arr)\n",
    "    ax[1, l].set_xscale(\"log\")\n",
    "    ax[1, l].set_xlim((min(N_arr), max(N_arr)))\n",
    "    # ax[1,l].set_yscale(\"log\")\n",
    "    # ax[1,l].set_ylim((min(hidden_layers_arr),max(hidden_layers_arr)))\n",
    "    ax[1, l].set_yticks(hidden_layers_arr)\n",
    "\n",
    "    ax[1, l].set_box_aspect(1.0)\n",
    "\n",
    "ax[1, 0].set_ylabel(\"Hidden layers\")\n",
    "\n",
    "scale_exp_int_range_min = int(np.ceil(-scale_exp))\n",
    "scale_exp_int_range_max = int(np.floor(scale_exp))\n",
    "scale_exp_int_range = (\n",
    "    [-scale_exp]\n",
    "    + list(range(scale_exp_int_range_min, scale_exp_int_range_max + 1))\n",
    "    + [scale_exp]\n",
    ")\n",
    "cbar_yticks_list = (\n",
    "    [10 ** (-scale_exp)]\n",
    "    + [10**i for i in list(range(scale_exp_int_range_min, scale_exp_int_range_max + 1))]\n",
    "    + [10 ** (scale_exp)]\n",
    ")\n",
    "cbar_yticks_labels = [\n",
    "    f\"$\\\\frac{{1}}{{{10**abs(s):.0f}}}$\" if s < 0 else f\"${10**s:.0f}$\"\n",
    "    for s in scale_exp_int_range\n",
    "]\n",
    "\n",
    "# Legend\n",
    "ax[0, -1].legend(loc=\"center left\", bbox_to_anchor=(1.05, 0.5), handles=legend_handles)\n",
    "\n",
    "# Colorbar\n",
    "ax_shift_y = 5\n",
    "ax_last_lim = ax[1, -1].get_ylim()\n",
    "cbar_ax = ax[1, -1].inset_axes(\n",
    "    [N_arr[-1] * 3.0, ax_last_lim[0], N_arr[-1] * 3.0, ax_last_lim[1] - ax_last_lim[0]],\n",
    "    transform=ax[1, -1].transData,\n",
    ")\n",
    "cbar = fig.colorbar(c, ticks=cbar_yticks_list, ax=ax, cax=cbar_ax)\n",
    "cbar.ax.set_yticklabels(cbar_yticks_labels)\n",
    "cbar.set_label(\"Speedup\")\n",
    "\n",
    "plt.tight_layout()\n",
    "\n",
    "fig.savefig(\"l4casadi_vs_l4acados_all.pdf\", dpi=600)"
   ]
  }
 ],
 "metadata": {
  "jupytext": {
   "formats": "ipynb,py"
  },
  "kernelspec": {
   "display_name": "zero-order-gpmpc-package-3.10",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
